﻿
namespace InterpriseSuiteEcommerceCommon
{
    public class DomainConstants
    {
        public const string HTTP_USER_AGENT = "HTTP_USER_AGENT";
        public const string MENU_ITEM = "MENU_ITEM";
        public const string SHOWSTRING_RESOURCE_KEY = "ShowStringResourceKeys";

        public const string TEXT_NAME = "TEXT";
        public const string URL_NAME = "URL";
        public const string LOOKUP_HELPER_CATEGORIES = "CATEGORY";
        public const string LOOKUP_HELPER_DEPARTMENT = "DEPARTMENT";
        public const string LOOKUP_HELPER_MANUFACTURERS = "MANUFACTURER";
        public const string LOOKUP_HELPER_ATTRIBUTE = "ATTRIBUTE";
        public const string XML_ROOT_NAME = "FIELD";
        public const string XML_SECTION_TYPE = "SECTION_TYPE";

        public const string TOP_MENU_CACHE_NAME = "TOP_MENU_CACHE_NAME";

        public const string EntityProduct = "product";

        public const string EmailRegExValidator = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
        public const string GCCallbackLoadCheck = "GCCallbackLoadCheck";

        public const string GcQueryParamId = "tid";

        public const string DeviceTypeName = "DeviceType";
        public const string DeviceTypeValue = "mobile";
        public const string MobileFolderName = "MobileFolderName";
        public const string DeviceSupport = "DeviceSupport";

        public const string QUERY_STRING = "QUERY_STRING";
        public const string XML_HELPER_PACKAGE_NAME = "XmlHelperPackage";


        public const string TEMPLATE_SWITCHING_PREFIX = "template";
        public const string DEFAULT_TEMPLATE_NAME = "template";
        public const string DEFAULT_TEMPLATE_EXTENSION = "ascx";

        public const string TOPIC_NAME = "topic";
        public const string DRIVER_PAGE_NAME = "driver";

        public const string GIFTREGISTRYPARAMCHAR = "g";

        public const char KITCOMPOSITION_DELIMITER = '+';

        public const string GIFTREGISTRY_CUSTOM_URL_REGEX_VALIDATION_VALUE = "^[a-zA-Z0-9-_]*$";

        public const long DEFAULT_REGISTRY_PHOTOSIZE = 500;

        public const double DEFAULT_REGISTRY_PAGESIZE = 50;

        public const string NOTIFICATION_QRY_STRING_PARAM = "NOTIFY";

        public const string DEFAULT_NO_PIC_FILENAME = "nopicture.gif";
        public const string SERVICE_TOKEN = "TOKEN";

        public const string SERVICE_TOKEN_FAILED = "Authorization Failed. Invalid Service Token.";

        public const string CMS_ENABLE_EDITMODE = "CMS_ENABLE_EDITMODE";

        public const string CMS_TEMPLATE = "CMS_TEMPLATE";
        public const string CMS_TOPIC_TEMPLATE = "CMS_TOPIC_TEMPLATE";
        public const string MOBILE_FULLMODE_QUERYTSTRING = "fullmode";
        public const string MOBILE_FULLMODE_SWITCHER = "MOBILE_FULLMODE_SWITCHER";

        public const string COUNTRY_US = "United States of America";

        public static string[] GetImageSupportedExtensions()
        {
            return new string[] { "jpg", "gif", "png" };
        }
    }

    public enum CachingOption
    {
        CacheOnHTTPContext,
        CacheOnHTTPRuntime
    }

    public enum XMLSectionType
    {
        DISPLAY_PRICE,
        DISPLAY_NOTIFYPRICEDROP,
        DISPLAY_PRICINGLEVEL,
        DISPLAY_ADDTOCARTFORM,
        DISPLAY_STOCKHINT,
        DISPLAY_NOTIFYONITEMAVAIL,
        //Obsolete Code

        //DISPLAY_EMAILPRODUCTTOFRIEND,
        DISPLAY_EXPECTEDSHIPDATE,
        DISPLAY_PRODUCTIMAGE,
        DISPLAY_SUBSTITUTEPRODUCT,
        DISPLAY_ACCESSORIES,
        REGISTER_STOCK_PRODUCT_JSCRIPT,
        DISPLAY_MATRIX_ATTRIBUTES,
        DISPLAY_NAV_LINKS,
        DISPLAY_KIT_DETAILS,
        DISPLAY_PRODUCTLINK,
        DISPLAY_CARTCONTROL,
        DISPLAY_REVIEWS,
        DISPLAY_REVIEWCONTROL,
        DISPLAY_NAV_LINK,
        DISPLAY_CMS_TEMPLATE,
        DISPLAY_CMS_TEMPLATE_FOR_TOPIC,
        DISPLAY_MOBILE_FULLMODE_SWITCHING_LINK
    }

    public enum XMLSearchSectionType
    {
        DISPLAY_PRODUCTENTITYLIST
    }

    public enum XMLEntitySectionType
    {
    }

    public enum XMLDefaultPageSectionType
    {
        GETSPECIALSBOXEXPANDEDRANDOM,
        GET_SPECIALS_BOX_EXPANDED,
        GET_NEWS_BOX_EXPANDED
    }

    public enum XMLProductSectionType
    {
        DISPLAY_SHAREBOX,
        DISPLAY_COMMENTBOX,
    }

    public enum GiftRegistryItemType
    { 
        vItem = 0,
        vOption = 1
    }

    public enum EditorDisplayMode
    {
        Simple,
        Advanced
    }

    public enum RenderType
    {
        ShoppingCart,
        Shipping,
        Payment,
        Review
    }

    public enum WidgetType
    {
        Blank,
        Visitors,
        SalesOverview,
        RecentOrders,
        StockAlert,
        NewCustomers,
        Sales,
        StoreSettings
    }

    public enum DateRangeType
    {
        Date,
        Week,
        Month,
        Year
    }
}
